/**
 * 
 */
package nc.itf.ntb;

import java.io.File;

import nc.tb.analyse.pub.AnalyseQueryDef;
import nc.tb.analyse.pub.AnalyseSliceRule;
import nc.vo.pub.BusinessException;
import nc.vo.pub.SuperVO;

/**
 * @author xuzx
 * 
 */
public interface IAnalyse {
	public void delete(SuperVO vo) throws BusinessException;

	public void deleteArray(SuperVO[] vos) throws BusinessException;

	public void deleteByWhereClause(Class c, String wherestr)
			throws BusinessException;

	public String insert(SuperVO vo) throws BusinessException;

	public String[] insertArray(SuperVO[] vos) throws BusinessException;

	public SuperVO[] queryAll(Class voClass) throws BusinessException;

	public SuperVO[] queryByCondition(Class voClass, String strWhere)
			throws BusinessException;

	public SuperVO[] queryByPKArray(Class voClass, String pkArray[])
			throws BusinessException;

	public SuperVO queryByPrimaryKey(Class voClass, String pk)
			throws BusinessException; 

	public void update(SuperVO vo) throws BusinessException;

	public void updateArray(SuperVO[] vo) throws BusinessException;

	public void updateArray(SuperVO[] vo, String[] selFlds)
			throws BusinessException;

	public AnalyseQueryDef[] getAnalysesByParentPK(String parentPK) throws BusinessException;
	
	public AnalyseQueryDef[] getAnalyseByCode(String code) throws BusinessException;

	public AnalyseQueryDef getAnalyseByPK(String pk) throws BusinessException;

	public AnalyseQueryDef[] getAllAnalyses() throws BusinessException;

	public AnalyseQueryDef[] getAnalyseByCondition(String clause) throws BusinessException;
	
	public void saveAnalyse(AnalyseQueryDef analyse) throws BusinessException;
	
	public void deleteAnalyse(AnalyseQueryDef analyse) throws BusinessException;
	
	public void deleteAnalyseArray(AnalyseQueryDef[] analyse) throws BusinessException;
	
	public File getAnalyseHtmlFile(AnalyseQueryDef queryDef, int screenWidth, int screenHeight) throws BusinessException;
	
	public File getAnalyseHtmlView(AnalyseQueryDef[] queryDef, int screenWidth, int screenHeight) throws BusinessException;
	
	public String getAnalyseHtmlFileName(AnalyseQueryDef[] queryDef, int screenWidth, int screenHeight) throws BusinessException;
}
